草庐IT

java - 过时的 Java 优化技巧

全部标签

javascript - 优化击倒/TKO - Alpha3

现代化进程中Knockout对于4.0版(现在位于monorepotko),我遇到了一些性能问题。在其他变化中,一些内部循环的东西已经转换为ES6类,这导致了一些主要的性能问题。我不想撤销这项工作,因为它为一些关键代码增加了相当多的清晰度,所以我想征求一些关于如何改进ES6代码的意见。我在这里设置了一些用于分析的简单示例:KnockoutAlpha2-349毫秒KnockoutAlpha3(prerelease)-622毫秒jsFiddles中的代码如下,它是许多绑定(bind)所经历的减速的原型(prototype)。HTML:{{count}}/{{time}}mscc{{#unl

javascript - 固定元素通过时如何在父元素内滚动元素?

这对我的jQuery/javascript知识来说有点太棘手了,所以我很抱歉地说我还没有真正尝试过任何东西。我需要一些提示来指明正确的方向!问题是我的页面上有一个固定元素,当向下滚动时这个元素将进入不同的包装器,而在那个包装器中我需要一个较小的子元素来“捕捉”到我的固定元素并且当它在元素。有点难以解释,我在这里做了一个静态模型:http://jsfiddle.net/ycmYc/当“固定购物车按钮”达到价格时,只要它在价格“product-div”内,我就需要它附加并与购物车按钮一起滚动。当它离开并进入下一个时,价格应保留在其产品的底部,然后在用户通过向上滚动到达它时再次捕捉到购物车按

javascript - 关于 JSLint,它对 for 循环的厌恶,以及尾调用优化

我注意到新版本的JSLint不喜欢某些形式的for循环。我发现这很奇怪,并开始寻找一些解释。在JsLint的helppage下,你可以找到这个:ThemostimportantnewfeatureofES6ispropertailcalls.Thishasnonewsyntax,sojsLintdoesn'tseeit.Butitmakesrecursionmuchmoreattractive,whichmakesloops,particularlyforloops,muchlessattractive.还有这个:jsLintdoesnotrecommenduseoftheforsta

javascript - 更新文档时的 pouchDB query() 错误

假设我有这三个文件:{"_id":"11111","type":"template","name":"person"}{"_id":"22222","type":"template","name":"place"}{"_id":"33333","type":"template","name":"thing"}我有一个云数据库,然后我有一个从该数据库同步pouchDB的设备。这些是我执行的步骤:我将两个数据库同步在一起。所以现在我的设备上有此文档的最新版本。我运行以下查询,然后像这样取回所有三个模板:代码vartemplate_obj={};returndevice_db.query('

javascript - 为什么这段 JavaScript 代码经过 Node.js 优化后运行速度变慢了

我正在为ICPC创建一个解决方案使用JavaScript和Node.js的问题当我遇到一个有趣的问题时:在某些情况下,我的程序在同一数据集上的运行速度会慢两倍。我精简了它,直到我得到这个演示行为的最小示例:functionsolve(arr){consttotal=arr.reduce((a,c)=>a+c,0);constcount=arr.length;for(leti=0;i这是使用Nodev10.15.1运行node--trace-optcode.js的输出:[marking0x005062b82521foroptimizedrecompilation,reason:small

javascript - 如何在生产环境中动态加载多个优化的 requirejs 模块?

我已经开始在虚拟项目中使用requirejs。我现在想使用r.js脚本构建我的生产项目。上下文是这样的:名为start.js的主文件是:require([/*somestuff*/],function(){/*applogic*/});它有一个if,它根据某些条件决定我应该要求什么。所需的文件是ModuleA或ModuleBModuleA和ModuleB都有依赖关系。define([/*somedeps*/],function(dep1,dep2...){/*applogic*/return{/*interface*/}在优化和模块连接之前,在开发模式下一切正常。在使用r.js构建时,

javascript - WebGL:将 spritebatch 渲染到渲染纹理时的奇怪行为

技术:WebGL/GL当我立即将10kSprite(使用spritebatch)渲染到后台缓冲区时,一切正常。10k当我将它渲染到渲染纹理中时,我遇到了一些关于alpha混合的奇怪问题(我猜……)。在纹理具有透明像素的地方,alpha计算错误(IMO它应该是累积的)。10k1k200黑色背景混合配置:gl.enable(gl.BLEND);gl.blendEquation(gl.FUNC_ADD);gl.blendFunc(gl.SRC_ALPHA,gl.ONE_MINUS_SRC_ALPHA);这就是我创建渲染缓冲区的方式:this._texture=this.gl.createTe

javascript - 三.JS | PerObject-Blur,我可以使用哪些技术来优化 GLSL/C 代码?

更新2我已经使用THREE.js实现了自定义属性,影响来自顶点着色器中与位置属性对齐的每次传递,这是代码最少的最佳解决方案。Iwilladdtheexamplelater更新1此方法将alpha设置为受边界框内速度范围影响的顶点。我需要提示来处理GLSL代码重复pervertex,这对我来说有点奇怪?我应该使用函数吗?怎么办?https://jsfiddle.net/LeroyRon/uep9t1v1/#&togetherjs=MjBnNMFQFl反正我有这个://for.xif(position.x>0.0){if(velocityPosition.x+(velocities.x*s

javascript - Fabrice Bellard 使用什么技巧使他的 Javascript PC 模拟器如此之快?

法布里斯·贝拉德的PCemulatorimplementedinJavascript速度快得令人印象深刻——它会在几秒钟内在浏览器中启动一个小型Linux镜像。使用了哪些技术来获得这种性能? 最佳答案 我认为与现代JS解释器的“速度”分享一些普遍的荣誉在Bellard的技术列表中是一个遥远的话题(因为他没有取代浏览器的引擎)。他的优化技巧是什么?是个很好的问题,我想得到更详细的记录。到目前为止我能说出的要点(可选)JS类型数组排除了不必要的内存分配动态(调整大小)。固定类型(大小)允许分配连续的内存块(此类block中没有可变长度元

javascript - 在 RequireJs 中,如何指示优化器生成哈希输出文件名?

我这样运行优化器sudo/usr/local/bin/node/tmp/r.j/r.js-oname=mainout=test.jsbaseUrl=.用于测试现在,我如何告诉优化器将文件名输出为内容的哈希值(显然是为了设置maxexpires),然后在相关的require调用中重命名依赖项?一个示例情况是这样的require({baseUrl:'{{STATIC_URL}}js',paths:{jquery:'https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min',jqueryui:'http://ajax.goog